package com.lijian.community.dto;

import com.lijian.community.exception.CustomizeErrorCode;
import com.lijian.community.exception.CustomizeException;
import lombok.Data;

@Data
public class ResultDTO<T> {

    private Integer code;

    private String massage;

    private T data;

    /**
     * 返回错误
     * @param code
     * @param massage
     * @return
     */
    public static ResultDTO error(Integer code, String massage){
        ResultDTO resultDTO = new ResultDTO();
        resultDTO.setCode(code);
        resultDTO.setMassage(massage);
        return resultDTO;
    }
    public static ResultDTO error(CustomizeErrorCode errorCode){
        return error(errorCode.getCode(), errorCode.getMessage());
    }

    public static ResultDTO error(CustomizeException e){
        return error(e.getCode(), e.getMessage());
    }

    /**
     * 成功带数据
     * @param data
     * @return
     */
    public static <T> ResultDTO ok(T data){
        ResultDTO resultDTO = new ResultDTO();
        resultDTO.setCode(200);
        resultDTO.setMassage("请求成功！");
        resultDTO.setData(data);
        return resultDTO;
    }
    /**
     * 成功不带数据
     * @return
     */
    public static ResultDTO ok(){
        ResultDTO resultDTO = new ResultDTO();
        resultDTO.setCode(200);
        resultDTO.setMassage("请求成功！");
        return resultDTO;
    }

}
